package commandmode.controller;

import commandmode.base.BaseCommand;

/**
 * 简易遥控装置
 * @author yaojianfeng
 */
public class SimpleRemoteControl {
    /**
     * 一个控制插槽命令,而这个命令控制一个装置
     */
    private BaseCommand slot;

    /**
     * 构造器
     */
    public SimpleRemoteControl() {
    }

    /**
     * 设置控制命令
     * 如果这段代码的客户想要改变遥控按钮的行为 可以多次调用这个方法
     * @param command 命令对象
     */
    public void setSlot(BaseCommand command){
        slot = command;
    }

    /**
     * 当按下按钮时,这个方法就会被调用,使得当前命令衔接插槽,并调用它的execute方法
     */
    public void onButtonWasPressed(){
        slot.execute();
    }
}
